﻿using System;

namespace RuTracker.Interface.Dropbox
{
    public interface IDropBoxAccessor : IDisposable
    {
        void Connect(byte[] token);
        void Disconnect();

        /// <summary>
        /// Loads full storage hierarchy and returns it
        /// </summary>
        /// <returns></returns>
        StorageFolder LoadHierarchy();

        /// <summary>
        /// Uploads file to a specific folder
        /// </summary>
        void UploadFile(string fileName, StorageFolder destination, byte[] body);

        /// <summary>
        /// Deletes item from storage
        /// </summary>
        bool Delete(IStorageItem storageItem);
    }
}
